home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / magic / d / mtpopups.d < prev    next >
Text File  |  1997-10-26  |  4KB  |  88 lines

  1. (*----------------------------------------------------------------------*
  2.  *                                                                      *
  3.  *  MAGICTOOLS   Modula's  All purpose  GEM  Interface  Cadre  Toolbox  *
  4.  *               ÿ         ÿ            ÿ    ÿ          ÿ               *
  5.  *----------------------------------------------------------------------*
  6.  * Version 3.30  02.02.1992     (C)90/91/92 by Peter Hellinger Software *
  7.  *----------------------------------------------------------------------*
  8.  *            Dieses Modul ist urheberrechtlich geschtzt.              *
  9.  *                                                                      *
  10.  * Die Ver”ffentlichung des Quelltextes oder Teilen daraus, sowie die   *
  11.  * Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
  12.  * oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail-    *
  13.  * boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen    *
  14.  * Einverst„ndnisserkl„rung des Autors.                                 *
  15.  *                                                                      *
  16.  * Die Verbreitung des Moduls als Teil eines gelinkten Programms ist    *
  17.  * fr Lizenznehmer ausdrcklich erlaubt!  Der Autor beh„lt sich das    *
  18.  * Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
  19.  * widerrufen.                                                          *
  20.  *----------------------------------------------------------------------*)
  21.  
  22. (*----------------------------------------------------------------------*
  23.  * mtPopups     Popupmens aus eine GEM-Menzeile etc. Dialogpopups     *
  24.  *                                                                      *
  25.  * ALLE Menus k”nnen auch ber die Tastatur bedient werden:             *
  26.  *                                                                      *
  27.  * RETURN / ENTER       Selektierten Eintrag best„tigen, Men beenden   *
  28.  * UNDO                 Men abbrechen bzw. zurck zum Hauptmen        *
  29.  * Cursor hoch          Eintrag ber aktuellem Eintrag selektieren      *
  30.  * Cursor runter        Eintrag unter aktuellem Eintrag selektieren     *
  31.  *----------------------------------------------------------------------*)
  32.  
  33. DEFINITION MODULE mtPopups;
  34.  
  35. FROM MagicSys   IMPORT  Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
  36.                         Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
  37.                         Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
  38.                         sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
  39.  
  40.  
  41.  
  42.  
  43.  
  44. IMPORT SYSTEM;
  45.  
  46. PROCEDURE PopupMenu (menu: SYSTEM.ADDRESS; title: ARRAY OF CHAR): sINTEGER; 
  47. (* Macht aus einer Resource-Menuzeile ein Popupmenu. Dropdown-Mens werden
  48.  * als Submens dargestellt.  Soll ein Menu-Title kein Dropdown erhalten,
  49.  * so muž dieser mit dem EXIT-Flag versehen werden.  Pro SubMen drfen
  50.  * maximal 50 Eintr„ge verwendet werden.  Die Prozedur returniert die
  51.  * Objektnummer des selektierten Eintrags.
  52.  *
  53.  * menu =       Adresse der Menuzeilen-Resource
  54.  * title =      Titelzeile fr das Men. Submens bekommen automatisch
  55.  *              den Mentitel als Titelzeile verpasst.
  56.  *)
  57.  
  58.  
  59. PROCEDURE StringPopup (REF  string: ARRAY OF CHAR; title: ARRAY OF CHAR): sINTEGER;
  60. (* Generiert Popupmen aus einem String.  Keine Submens m”glich! Die 
  61.  * einzelnen Eintr„ge mssen durch ein | getrennt sein:
  62.  *
  63.  * "  Eintrag 1|  Eintrag 2|  Eintrag 3" 
  64.  *
  65.  * Maximal 50 Eintr„ge m”glich.  Ist title ein Null-String wird keine Titel
  66.  * zeile in das Popup integriert. Das Popup ist damit auch nicht verschiebbar!
  67.  *)
  68.  
  69.  
  70. PROCEDURE PosPopup (x, y: INTEGER; REF  string: ARRAY OF CHAR;
  71.                     title: ARRAY OF CHAR): sINTEGER;
  72. (* Wie StringPopup, jedoch an festgelegter Position (linke obere Ecke). *)
  73.  
  74.  
  75. PROCEDURE TreePopup (tree: SYSTEM.ADDRESS; x, y: sINTEGER; idx: sINTEGER): sINTEGER;
  76. (* Wie PosPopup, jedoch mit Baum, der dargestellt wird. idx kann dazu benutzt
  77.  * werden einen bestimmten Eintrag an der x,y Position erscheinen zulassen.
  78.  * Das Men wird dann entsprechend versetzt.
  79.  * Idee und Realisation: Dirk Steins
  80.  *)
  81.  
  82. PROCEDURE InitMtPopups;
  83. (* Initialisiert die mtPopups. Wird normalerweise im Modulk”rper
  84.  * aufgerufen, und braucht nicht weiter beachtet zu werden.
  85.  *)
  86.  
  87. END mtPopups.
  88.